|
The List Update or the List Access problem is a simple model used in the study of competitive analysis of online algorithms. Given a set of items in a list where the cost of accessing an item is proportional to its distance from the head of the list, e.g. a Linked List, and a request sequence of accesses, the problem is to come up with a strategy of reordering the list so that the total cost of accesses is minimized. The reordering can be done at any time but incurs a cost. The standard model includes two reordering actions: * A free transposition of the item being accessed anywhere ahead of its current position; * A paid transposition of a unit cost for exchanging any two items in the list. Performance of algorithms depend on the construction of request sequences by adversaries under various Adversary models An online algorithm for this problem has to reorder the elements and serve requests based only on the knowledge of previously requested items and hence its strategy may not have the optimum cost as compared to an offline algorithm that gets to see the entire request sequence and devise a complete strategy before serving the first request. ==Adversary Models== An adversary is an entity that gets to choose the request sequence for an algorithm ''ALG''. Depending of whether can be changed based on the strategy of ''ALG'', adversaries are given various powers, and the performance of ''ALG'' is measured against these adversaries. An oblivious adversary has to construct the entire request sequence before running ''ALG'', and pays the optimal offline price, which is compared against An adaptive online adversary gets to make the next request based on the previous results of the online algorithm, but pays for the request optimally and online. An adaptive offline adversary gets to make the next request based on the previous results of the online algorithm, but pays the optimal offline cost. 抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「List update problem」の詳細全文を読む スポンサード リンク
|